package com.fanyouzhao.ssm251.service;

import com.github.pagehelper.PageInfo;

import java.util.List;

/**
 * 所有Service都通用的基本Service
 *
 * @author: fanyouzhao
 * @date: 14:09 2021/6/22
 */
public interface BaseService<T> {
    T selectById(Integer id);

    List<T> selectAll();

    List<T> select(T t);

    List<T> selectByExample(T t) throws IllegalAccessException;

    /**
     *
     * @param page
     * @param size
     * @param t 可选的带有查询条件的对象,两种情况:一 个t或没有
     * @return PageHelper的分页对象
     */
    PageInfo<T> selectByPage(Integer page, Integer size, T... t);

    void add(T t);

    void updateById(T t);

    void deleteById(Integer id);

}
